package com.ruoyi.workbench.service;

import java.util.List;

import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.workbench.domain.WorkTargetTask;

/**
 * 分解任务Service接口
 * 
 * @author Guojl
 * @date 2024-07-04
 */
public interface IWorkTargetTaskService 
{
    /**
     * 查询分解任务
     * 
     * @param targetTaskId 分解任务主键
     * @return 分解任务
     */
    public WorkTargetTask selectWorkTargetTaskByTargetTaskId(Long targetTaskId);

    /**
     * 查询分解任务列表
     * 
     * @param workTargetTask 分解任务
     * @return 分解任务集合
     */
    public List<WorkTargetTask> selectWorkTargetTaskList(WorkTargetTask workTargetTask);
    /**
     * 查询分解任务列表
     *
     * @param workTargetTask 分解任务
     * @return 分解任务集合
     */
    public TableDataInfo selectWorkTargetTaskForItemList(WorkTargetTask workTargetTask);

    /**
     * 新增分解任务
     * 
     * @param workTargetTask 分解任务
     * @return 结果
     */
    public int insertWorkTargetTask(WorkTargetTask workTargetTask);
    public int insertWorkTargetTask(List<WorkTargetTask> workTargetTasks);

    /**
     * 修改分解任务
     * 
     * @param workTargetTask 分解任务
     * @return 结果
     */
    public int updateWorkTargetTask(WorkTargetTask workTargetTask);
    /**
     * 修改分解任务
     *
     * @param workTargetTask 分解任务
     * @return 结果
     */
    public int updateWorkTargetTaskById(WorkTargetTask workTargetTask);

    /**
     * 批量删除分解任务
     * 
     * @param targetTaskIds 需要删除的分解任务主键集合
     * @return 结果
     */
    public int deleteWorkTargetTaskByTargetTaskIds(Long[] targetTaskIds);

    /**
     * 删除分解任务信息
     * 
     * @param targetTaskId 分解任务主键
     * @return 结果
     */
    public int deleteWorkTargetTaskByTargetTaskId(Long targetTaskId);
}
